﻿using System.Windows.Input;
using TestBat.IModels.Domain;
using TestBat.IViewModels.Base;
using TestBat.IViewModels.Workspaces.Tasks;
using TestBat.IViewModels.Workspaces.Trainees;

namespace TestBat.IViewModels.Workspaces.Schedules
{
    public interface IScheduleViewModel : IListItemViewModel
    {
        ISchedule Schedule { get; }

        ITaskTreeViewModel TaskTree { get; }
        ITraineeGroupListViewModel TraineeGroupList { get; }

        IScheduleTaskListViewModel ScheduleTaskList { get; }
        IScheduleTraineeGroupListViewModel ScheduleTraineeGroupList { get; }

        ICommand SaveCommand { get; }

        ICommand AddScheduleTasksCommand { get; }
        ICommand RemoveScheduleTaskCommand { get; }
        ICommand MoveScheduleTaskUpCommand { get; }
        ICommand MoveScheduleTaskDownCommand { get; }

        ICommand AddScheduleTraineeGroupCommand { get; }
        ICommand RemoveScheduleTraineeGroupCommand { get; }
    }
}
